//
//  YXTopView.swift
//  yanXiangWeiBo
//
//  Created by 颜祥 on 15/12/23.
//  Copyright © 2015年 yanxiang. All rights reserved.
//

import UIKit
import FFAutoLayout
import SDWebImage


// 首页cell顶部视图
class YXTopView: UIView
{
    
    // 顶部视图显示内容需要微博模型
    var status: YXStatus?
    {
        didSet
        {
            // 1.显示头像
           if let profile_image_url =  status?.user?.profile_image_url
            {
                let url = NSURL(string: profile_image_url)
                iconView.sd_setImageWithURL(url, placeholderImage: UIImage(named: "avatar"))
            }
            
            // 2.显示用户名称
            nameLabel.text = status?.user?.screen_name
            
            // 3.显示微博时间
            timeLabel.text = status?.created_at
            
            // 4.显示微博来源
            sourceLabel.text = status?.source
            
            // 5.显示会员等级
            // 模型里面提供了mbank来表示会员的等级，因此要根据mbank值的不同来设置不同的会员等级图片,每次都要进行判断，最好让模型直接提供图片让外界来调用
            vipView.image = status?.user?.mbrankImage
            
//            if let mbrank = status?.user?.mbrank
//            {
//                if mbrank > 0 && mbrank < 6
//                {
//                    vipView.image = UIImage(named: "common_icon_membership_level\(mbrank)")
//                }
//                else
//                {
//                    // 清空图片，防止cell重用
//                    vipView.image = nil
//                }
//            }
            
            // 6.显示认证图片
            // 模型里面提供了verified_type来表示会员的认证，因此要根据verified_type值的不同来设置不同的会员认证图片
            verifiedView.image = status?.user?.verifiedImage
            
//            if let verified_type = status?.user?.verified_type
//            {
//                switch verified_type
//                {
//                    case 0: //没有认证
//                        verifiedView.image = UIImage(named: "avatar_grassroot")
//                    case 2,3,5: // 企业认证
//                        verifiedView.image = UIImage(named: "avatar_enterprise_vip")
//                    case 220: // 达人认证
//                        verifiedView.image = UIImage(named: "avatar_vip")
//                    default:
//                        verifiedView.image = nil
//                }
//            }
         
        }
    }
    
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        self.backgroundColor = UIColor.greenColor()
        
        // 准备UI
        prepareUI()
    }
    
    private func prepareUI()
    {
        // 添加子控件
        addSubview(iconView)
        addSubview(nameLabel)
        addSubview(timeLabel)
        addSubview(sourceLabel)
        addSubview(vipView)
        addSubview(verifiedView)
        
        // 添加约束
        addSubviewContraint()
        
    }
    
    // MARK: - 添加子控件的约束
    private func addSubviewContraint()
    {
        // 用户头像
        iconView.ff_AlignInner(ff_AlignType.TopLeft, referView: self, size: CGSize(width: 35, height: 35), offset: CGPoint(x: 8, y: 8))
        
        
        // 用户昵称
        nameLabel.ff_AlignHorizontal(ff_AlignType.TopRight, referView: iconView, size: nil, offset: CGPoint(x: 8, y: 0))
        
        // 微博时间
        timeLabel.ff_AlignHorizontal(ff_AlignType.BottomRight, referView: iconView, size: nil, offset: CGPoint(x: 8, y: 0))
        
        // 微博来源
        sourceLabel.ff_AlignHorizontal(ff_AlignType.CenterRight, referView: timeLabel, size: nil, offset: CGPoint(x: 8, y: 0))
        
        // 会员等级
        vipView.ff_AlignHorizontal(ff_AlignType.CenterRight, referView: nameLabel, size: CGSize(width: 14, height: 14), offset: CGPoint(x: 8, y: 0))
        
        // 认证图片
        verifiedView.ff_AlignInner(ff_AlignType.BottomRight, referView: iconView, size: CGSize(width: 17, height: 17), offset: CGPoint(x: 8.5, y: 8.5))
        
    }

    
    // MARK: - 懒加载
    // 用户头像
    private lazy var iconView: UIImageView = UIImageView(image: UIImage(named: "avatar"))
    
    // 用户名称
    private lazy var nameLabel: UILabel =
    {
        let nameLabel = UILabel()
        
        // 字体颜色
        nameLabel.textColor = UIColor.darkGrayColor()
        
        // 字体大小
        nameLabel.font = UIFont.systemFontOfSize(14)
        
        return nameLabel
        
    }()
    
    // 微博时间
    private lazy var timeLabel: UILabel =
    {
        let timeLabel = UILabel()
        
        // 字体颜色
        timeLabel.textColor = UIColor.orangeColor()
        
        // 字体大小
        timeLabel.font = UIFont.systemFontOfSize(9)
        
        
        return timeLabel
    }()
    
    // 微博来源
    private lazy var sourceLabel: UILabel =
    {
        let sourceLabel = UILabel()
        
        // 字体颜色
        sourceLabel.textColor = UIColor.lightGrayColor()
        
        // 字体大小
        sourceLabel.font = UIFont.systemFontOfSize(9)
        
        
        return sourceLabel
    }()
    
    // 会员等级
    private lazy var vipView: UIImageView = UIImageView(image: UIImage(named: "common_icon_membership_expired"))
    
    
    // 认证图片
    private lazy var verifiedView: UIImageView = UIImageView(image: nil)
    
    
    
}